package org.hughie.springframework.beans.factory.config;

import org.hughie.springframework.ConfigurableListableBeanFactory;
import org.hughie.springframework.beans.BeansException;

/**
 * 提供接口，允许自定义修改 BeanDefinition 属性信息
 * 处理的是BeanDefinition，是在Bean实例化之前做的工作
 */
public interface BeanFactoryPostProcessor {

    /**
     * 在所有的 BeanDefinition 加载完成后，实例化 Bean 对象之前，提供修改 BeanDefinition 属性的机制
     */
    void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException;
}
